package com.zenchn.aliyun.oss.api;

import com.zenchn.entity.JsonResult;

/**
 * 文件下载 接口
 * @author dingxinfa
 * @date 2018-08-16
 */
public interface OssDownloadService {


	/**
	 * 简单下载到本地文件
	 * @param endpoint 访问域名
	 * @param accessKeyId id
	 * @param accessKeySecret 密钥
	 * @param bucketName 存储空间
	 * @param objectName Bucket下的文件的路径名+文件名
	 * @param localFilePath 本地文件保存路径
	 * @return JsonResult 数据
	 */
	JsonResult<Object> simplyDownloadToLocalFile(String endpoint, String accessKeyId, String accessKeySecret, String bucketName, String objectName, String localFilePath);




	/**
	 * 简单下载
	 * @param endpoint 访问域名
	 * @param accessKeyId id
	 * @param accessKeySecret 密钥
	 * @param bucketName 存储空间
	 * @param objectName Bucket下的文件的路径名+文件名
	 * @return JsonResult 数据
	 */
	JsonResult<Object> simplyDownload(String endpoint, String accessKeyId, String accessKeySecret, String bucketName, String objectName);

	/**
	 * 分片下载(断点续传下载)
	 * @param endpoint 访问域名
	 * @param accessKeyId id
	 * @param accessKeySecret 密钥
	 * @param bucketName 存储空间
	 * @param objectName Bucket下的文件的路径名+文件名
	 * @param localFilePath 下载的文件本地保存路径
	 * @return 返回的是json串
	 */
	JsonResult<Object> multipartDownloadToLocalFile(String endpoint, String accessKeyId, String accessKeySecret, String bucketName, String objectName, String localFilePath);


	/**
	 * 加工处理图片下载到本地文件
	 * @param endpoint 访问域名
	 * @param accessKeyId id
	 * @param accessKeySecret 密钥
	 * @param bucketName 存储空间
	 * @param objectName Bucket下的文件的路径名+文件名
	 * @param processStyle  图片处理规则描述
	 * @param localFilePath 本地文件保存路径
	 * @return JsonResult 数据
	 */
	JsonResult<Object> processImageDownloadToLocalFile(String endpoint, String accessKeyId, String accessKeySecret, String bucketName, String objectName, String processStyle, String localFilePath);
}
